create table employees ( EID CHAR(5), NAME CHAR(20), GENDER CHAR(1) NOT NULL, SALARY INTEGER, PRIMARY KEY(EID)); create table departments ( DID CHAR(5), NAME CHAR(20), MANAGER CHAR(5), PRIMARY KEY(DID), FOREIGN KEY(MANAGER) REFERENCES EMPLOYEES(EID)); create table colleges ( CID CHAR(5), NAME CHAR(20), PRIMARY KEY(CID)); create table degrees ( EID CHAR(5), CID CHAR(5), DEGREE CHAR(1), PRIMARY KEY(EID,CID,DEGREE), FOREIGN KEY(EID) REFERENCES EMPLOYEES(EID), FOREIGN KEY(CID) REFERENCES COLLEGES(CID)); insert insert insert insert insert insert into into into into into into employees employees employees employees employees employees values values values values values values ('E1','Abrahams','M',50); ('E2','Jones','F',60); ('E3','Jenkins','F',50); ('E4','Smith','M',25); ('E5','Smith','F',30); ('E6','Zegura','F',40); insert into departments values ('D1','Systems','E6'); insert into departments values ('D2','Engineering','E1'); insert into departments values ('D3','Accounting','E6'); insert into colleges values ('C1','Baylor'); insert into colleges values ('C2','GT'); insert into colleges values ('C3','UT'); insert insert insert insert insert insert insert commit; into into into into into into into degrees degrees degrees degrees degrees degrees degrees values values values values values values values ('E1','C1','B'); ('E1','C3','P'); ('E2','C2','B'); ('E3','C1','B'); ('E3','C1','P'); ('E4','C3','B'); ('E6','C2','P'); 1. Find the names of all employees SQL> select name from employees; NAME Abrahams Jones Jenkins Smith Smith Zegura 6 rows selected 2. Find the set of unique name of all employees SQL> select distinct name from employees; NAME Abrahams Jenkins Jones Smith Zegura 5 rows selected 3. Find all attributes of all employees SQL> select * from employees; EID NAME GENDER E1 Abrahams M E2 Jones F E3 Jenkins F E4 Smith M E5 Smith F E6 Zegura F 6 rows selected SALARY 50 60 50 25 30 40 4. Find all attributes of all male employees SQL> select * from employees where gender = 'M'; EID NAME GENDER SALARY E1 Abrahams M 50 E4 Smith M 25 2 rows selected 5. Find the EID and degrees of Jenkins SQL> select employees.eid, degrees.degree cont> from employees, degrees cont> where employees.eid = degrees.eid and cont> employees.name = 'Jenkins'; EMPLOYEES.EID DEGREES.DEGREE E3 B E3 P 2 rows selected 6. Find the EID and degrees of Jenkins (Alias) SQL> select E.eid, D.degree cont> from employees E, degrees D cont> where E.eid = D.eid and cont> E.name = 'Jenkins'; E.EID D.DEGREE E3 B E3 P 2 rows selected 7. Find the manager for each department SQL> select D.name, E.name cont> from departments D, employees E cont> where E.eid = D.manager; D.NAME E.NAME Systems Zegura Engineering Abrahams Accounting Zegura 3 rows selected 8. Find the name of the employees that either have a PhD or manage a department SQL> (select E.name from employees E, departments D cont> where E.eid = D.manager) union cont> (select E.name from employees E, degrees D cont> where E.eid = D.eid and degree = 'P'); NAME Abrahams Jenkins Zegura 3 rows selected 9. Find the name of the employees that went to the same college as Abrahams SQL> select E.name from employees E, degrees D cont> where E.eid = D.eid and D.cid in cont> (select cid from degrees D, employees E cont> where E.eid = D.eid and E.name = 'Abrahams'); E.NAME Abrahams Abrahams Jenkins Jenkins Smith 5 rows selected DISTINCT select distinct E.name from employees E, degrees D where E.eid = D.eid and D.cid in (select cid from degrees D, employees E where E.eid = D.eid and E.name = 'Abrahams'); E.NAME Abrahams Jenkins Smith 3 rows selected 10. Find all of the female employees who make more money than all of the male employees SQL> select name from employees cont> where gender = 'F' and cont> salary > all cont> (select salary from employees cont> where gender = 'M'); NAME Jones 1 row selected 11. Find the minimum, maximum, average, count, sum, and distinct count of the salaries select min(salary), max(salary), avg(salary), count(*), sum(salary), count(distinct salary) from employees; 25 60 42.5 6 255 5 1 row selected 12. Find the names of the employees with more than 1 college degree select name from employees E where (select count(*) from degrees D where E.eid = d.eid) > 1; NAME Abrahams Jenkins 2 rows selected 13. Find the number of degrees given by each college SQL> select c.name, count(*) from colleges C, degrees D cont> where C.cid=D.cid group by c.name; C.NAME Baylor 3 GT 2 UT 2 3 rows selected 14. Find the number of degrees give by each college that gave 3 or more degrees select c.name, count(*) from colleges C, degrees D where c.cid = d.cid group by c.name having count(*) >= 3; C.NAME Baylor 1 row selected 3 15. List the employees names and salary sorted in descending order by salary select name, salary from employees order by salary desc; NAME SALARY Jones 60 Jenkins 50 Abrahams 50 Zegura 40 Smith 30 Smith 25 6 rows selected 16. List the employees whose name begins with a ‘J’ SQL> select name from employees where name like '%J%'; NAME Jones Jenkins 2 rows selected 17. Delete employee Jenkins SQL> delete from employees where name = 'Jenkins'; %RDB-E-INTEG_FAIL, violation of constraint DEGREES_FOREIGN1 caused operation to fail -RDB-F-ON_DB, on database USER$0:[DONAHOOJ.CS3335]PLAY.RDB; SQL> delete from degrees where eid in cont> (select eid from employees where name='Jenkins'); 2 rows deleted SQL> select * from degrees; EID CID DEGREE E1 C1 B E1 C3 P E2 C2 B E4 C3 B E6 C2 P 5 rows selected SQL> delete from employees where name = 'Jenkins'; 1 row deleted SQL> select * from employees; EID NAME E1 Abrahams E2 Jones E4 Smith E5 Smith E6 Zegura 5 rows selected GENDER M F M F F SALARY 50 60 25 30 40 18. Give Abrahams a gender change SQL> update employees set gender = 'F' where name = 'Abrahams'; 1 row updated 19. Give all female employees a 10% raise SQL> update employees set salary = salary * 1.10 where gender = 'F'; 4 rows updated SQL> select * from employees; EID NAME E1 Abrahams E2 Jones E4 Smith E5 Smith E6 Zegura 5 rows selected GENDER F F M F F SALARY 51 61 25 31 41 20. Commit changes SQL> commit; 21. Rollback changes SQL> update employees set gender = 'M' where name = 'Abrahams'; 1 row updated SQL> select * from employees; EID NAME E1 Abrahams E2 Jones E4 Smith E5 Smith E6 Zegura 5 rows selected GENDER M F M F F SALARY 51 61 25 31 41 GENDER F F M F F SALARY 51 61 25 31 41 SQL> rollback; SQL> select * from employees; EID NAME E1 Abrahams E2 Jones E4 Smith E5 Smith E6 Zegura 5 rows selected 22. Add age column to Employees table SQL> create domain AGE_DOM integer; SQL> alter table employees add age AGE_DOM; SQL> select * from employees; EID NAME GENDER E1 Abrahams F E2 Jones F E4 Smith M E5 Smith F E6 Zegura F 5 rows selected 23. Delete Employees table drop table employees; 24. Delete database drop database filename ‘play.rdb’; SALARY 51 61 25 31 41 AGE NULL NULL NULL NULL NULL